﻿import smtplib # SMTP benutzen
from email.MIMEText import MIMEText # mail objekte erstellen
# MIMEText non.multipart mail-objekte erstellen
# alte python version altes modul nehmen
# achtung benutze alte python version! anderes email modul
import os
import sys

# ----------------------------------------------------------
# 1 - textdatei fuer emailtext
# 2 - empfaengeradressen beliebig viele
# SMTP - ist der Umschlag, also die Erforderlichen Schritte
# zum Versender einer Nachricht
# email - Objekt nach RFC822 ist die Nachricht die verschickt wird
# muss mindestens die Header: From, Subject und To enthalten

# Hinweis: die textdatei muss beim absender liegen nicht im script ordner
# ----------------------------------------------------------


if __name__ == '__main__':

    # parameter einlesen
    if len(sys.argv) < 3:
        print 'Parameteranzah checken!!'
        sys.exit(-1)

    dat = sys.argv[1]
    if '@' in dat:
        print 'Das 1. Argument muss die Textdatei sein!'
        sys.exit(-1)
    
    rcpts = sys.argv[2:]
    # alle emailaddys in liste merken
    

##    dat = 'grussmail.txt'
##    rcpts = ['habnix@asterix']
    # hardcodet parameter zum testen
        
    print 'lese %s ein ' % (dat)
    mail = file(dat).read()
    # Mailtext einelsen

    msg = MIMEText(mail)
    # mail objekt erstellen und Text angeben
    
    sender_addr = 'root@asterix'
    # Absenderadresse
    
    msg['From'] = 'sender_adr_egal'
    msg['Subject'] = 'SPAAAMMAIL 6'
##    msg['To'] = rcpts[0] # string geben
    # RFC822 Pflichtheader

    s = smtplib.SMTP('localhost')
    # Verbindungsobjekt zum Server (localhost) erstellen
    
    for rcpient in rcpts:
        del msg['To']   # Empfänger loeschen, die spammeil keine sammelmail sein soll
        msg['To'] = rcpient
##	print msg.items()
        print 'sende jetzt an %s' % (rcpient)
        s.sendmail(sender_addr, [rcpient], msg.as_string())
        # Empfaengerliste ist immer auch eine list
    
    print 'empfaengerliste (uebergebene params): ', rcpts
    s.sendmail(sender_addr, rcpts, msg.as_string())
    s.quit()
    
